﻿/*
 * Criado por SharpDevelop.
 * Usuário: Administrador
 * Data: 17/06/2011
 * Hora: 9:15
 * 
 * Para alterar este modelo use Ferramentas | Opções | Codificação | Editar Cabeçalhos Padrão.
 */
using System;

namespace estacionamento.classes
{
	/// <summary>
	/// Description of Usuario.
	/// </summary>
	public class Usuario : comum.DefaultClass, comum.IClass
	{
		#region private declaration
		private string _nome;
		private string _senha;
		#endregion
		
		#region Properties
		public string nome
		{
			get { return this._nome; }
			set { this._nome = value; }
		}
		
		public string senha
		{
			get { return this._senha; }
			set { this._senha = value; }
		}
		#endregion
		
		public Usuario()
		{
			clear();
			gsql.table = "usuario";
			_sequence = "usuario_usuario_id";
		}
		
		public void clear()
		{
			_nome = string.Empty;
			_senha= string.Empty;
		}
		public override void @get(System.Data.DataRow dr)
		{
			_id = dr["usuario_id"].ToString();
			_nome = dr["usuario_nome"].ToString();
			_senha = dr["usuario_senha"].ToString();
		}
		
		public override void setGsql()
		{
			gsql.setValue(_id, "usuario_id");
			gsql.setValue(_nome, "usuario_nome");
			gsql.setValue(_senha, "usuario_senha");
		}
		
	}
	
	public class Usuarios : comum.DefaultList, comum.IList
	{
		public Usuarios()
		{
			gsql.table = "usuario";
		}
		
		public Usuario get(int index)
		{
			return (Usuario)items[index];
		}
		
		public Usuario get()
		{
			return (Usuario)items[index];
		}
		
		public bool fillList()
		{
			gsql.prepare();
			gsql.setValue("","*");
			gsql.additionalWhere= "ORDER BY usuario_id";
			
			return mountList();
		}
		
		
		private bool mountList()
		{
			int tam;
			
			if (!gsql.execute())
			{
				msgErro = gsql.getMsgErro();
				return false;
			}
			
			tam = gsql.getRowCount();
			clear();
			for (int i=0; i < tam; i++)
			{
				Usuario obj = new Usuario();
				obj.get(gsql.getRow(i));
				
				items.Add(obj);
			}
			return true;
		}

		
		public bool procuraPorNome(string name)
		{
			int tam= items.Count;
			
			for( int i=0; i < tam; i++)
			{
				if( ((Usuario)items[i]).nome.Equals(name))
				{
					index= i;
					return true;
				}
			}
			return false;
		}
	}
}
